home *** CD-ROM | disk | FTP | other *** search
/ 10,000 Great Games / 10,000 Great Games.iso / Product / 66 / data1.cab / Source_Files / Src / Debug.cpp < prev    next >
C/C++ Source or Header  |  2000-01-16  |  2KB  |  50 lines

  1. #include "stdafx.h"
  2.  
  3. int debug = FALSE;
  4.  
  5. void write_debug(cDisplayable *list)
  6. {    
  7.     for (; list != 0; list = (cDisplayable *)list->next)
  8.         if (list->surface_visible())
  9.         {
  10.             int x = list->x, y = list->y;
  11.             
  12.             if (list->orig != 0)
  13.             {     
  14.                 rect(list->surface, x + list->orig->bbox.x1, y - list->orig->bbox.y1, x + list->orig->bbox.x2, y - list->orig->bbox.y2, yellow);
  15.  
  16.                 for (cBox *b = list->orig->box; b != 0; b = (cBox *)b->next)
  17.                     rect(list->surface, x + b->x1, y - b->y1, x + b->x2, y - b->y2, gray);
  18.                 
  19.                 for (cLine *l = list->orig->line; l != 0; l = (cLine *)l->next)
  20.                     line(list->surface, x + l->x1, y - l->y1, x + l->x2, y - l->y2, gray);
  21.                 
  22.                 for (cCircle *c = list->orig->circle; c != 0; c = (cCircle *)c->next)
  23.                     circle(list->surface, x + c->x, y - c->y, c->radius, gray);
  24.                 
  25.                 for (cSpot *s = list->orig->spot; s != 0; s = (cSpot *)s->next)
  26.                     rectfill(list->surface, x + s->x + 1, y - s->y - 1, x + s->x - 1, y - s->y + 1, gray);                
  27.             }
  28.             
  29.             for (cCircle *c = list->circle_bounds; c != 0; c = (cCircle *)c->next)
  30.                 circle(list->surface, x + c->x,  y - c->y, c->radius, white);
  31.             
  32.             for (cLine *l = list->line_bounds; l != 0; l = (cLine *)l->next)
  33.                 line(list->surface, x + l->x1, y - l->y1, x + l->x2, y - l->y2, white);
  34.             
  35.             rectfill(list->surface, x - 1, y - 1, x + 1, y + 1, red);
  36.         }
  37. }
  38.  
  39. void write_debug_info()
  40. {
  41.     if (debug)
  42.     {
  43.         for (int i = 0; objtypes[i].type != 0; i++)
  44.             if (!objtypes[i].list_occured_earlier)
  45.                 write_debug(*objtypes[i].onscreen);
  46.  
  47.         write_debug(players);
  48.     }
  49. }
  50.